package com.mt.roll.common.service;

import com.mt.roll.common.params.DownloadFileParam;
import com.mt.roll.common.params.UploadFileBase64Param;
import com.mt.roll.common.vo.SysFileVo;
import com.mt.roll.core.params.IdParam;
import com.mt.roll.core.vo.R;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @author jiff
 * @date 2021/01/12
 * @since 1.0
 */
public interface AttachmentService {


    /**
     * 文件上传(支持多文件上传)
     *
     * @param typeCode
     * @return
     */
    R<List<SysFileVo>> uploadFile(String typeCode);

    /**
     * 文件上传
     *
     * @param uploadFileBase64Param 上传文件对象
     * @return
     */
    R<SysFileVo> uploadFileBase64(UploadFileBase64Param uploadFileBase64Param);

    /**
     * 文件上传(form表单形式)
     *
     * @param typeCode
     * @param files
     * @return
     */
    R<List<SysFileVo>> uploadFileFormData(String typeCode, MultipartFile[] files);

    /**
     * 文件下载（下载方式: 0、预览，1、下载）
     *
     * @param downloadFileParam
     * @return
     */
    R<Object> downloadFile(DownloadFileParam downloadFileParam);




}
